home *** CD-ROM | disk | FTP | other *** search
/ Freelog 115 / FreelogNo115-MaiJuin2013.iso / Internet / AvantBrowser / asetup.exe / _data / webkit / chrome_100_percent.pak / Unnamed File 000032.txt < prev    next >
Text File  |  2013-04-03  |  2KB  |  46 lines

  1. // Copyright (c) 2012 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4.  
  5. // Custom bindings for the fileBrowserPrivate API.
  6.  
  7. var fileBrowserPrivateNatives = requireNative('file_browser_private');
  8. var GetLocalFileSystem = fileBrowserPrivateNatives.GetLocalFileSystem;
  9.  
  10. var fileBrowserNatives = requireNative('file_browser_handler');
  11. var GetExternalFileEntry = fileBrowserNatives.GetExternalFileEntry;
  12.  
  13. var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
  14.  
  15. chromeHidden.registerCustomHook('fileBrowserPrivate', function(bindingsAPI) {
  16.   var apiFunctions = bindingsAPI.apiFunctions;
  17.  
  18.   apiFunctions.setCustomCallback('requestLocalFileSystem',
  19.                                  function(name, request, response) {
  20.     var fs = null;
  21.     if (response && !response.error)
  22.       fs = GetLocalFileSystem(response.name, response.path);
  23.     if (request.callback)
  24.       request.callback(fs);
  25.     request.callback = null;
  26.   });
  27.  
  28.   apiFunctions.setCustomCallback('searchDrive',
  29.                                  function(name, request, response) {
  30.     if (response && !response.error && response.results) {
  31.       for (var i = 0; i < response.results.length; i++) {
  32.         response.results[i].entry =
  33.             GetExternalFileEntry(response.results[i].entry);
  34.       }
  35.     }
  36.  
  37.     // So |request.callback| doesn't break if response is not defined.
  38.     if (!response)
  39.       response = {};
  40.  
  41.     if (request.callback)
  42.       request.callback(response.results, response.nextFeed);
  43.     request.callback = null;
  44.   });
  45. });
  46.